package com.novax.ex.activity.infrastructure.mapper;

import com.novax.ex.activity.infrastructure.entity.IeoOrder;
import com.novax.ex.common.base.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Description: 申购订单mapper
 * @Author: ChenXi
 * @Date:  2022/12/10 13:49
 **/
public interface IeoOrderMapper extends BaseMapper {


    /**
     * 黄涛
     * 选择通过用户id和ieo id计算出购买过的份数和
     *
     * @param userId 用户id
     * @param ieoId  ieo id
     * @return {@link List}<{@link IeoOrder}>
     */
    Integer selectCopiesSumByUserIdAndIeoId(@Param("userId") Long userId, @Param("ieoId") Long ieoId);

    /**
     * 黄涛
     * 选择按ieo id数
     *
     * @param ieoId ieo id
     * @return {@link Integer}
     */
    Integer selectCountByIeoId( @Param("ieoId") Long ieoId);

    /**
     * @Description: 根据ieoId获取所有此活动所有订单
     * @Author: ChenXi
     * @Date:  2022/12/9 10:01
     * @Param: [ieoId]
     * @return: java.lang.Integer
     **/
    List<IeoOrder> selectOrderByIeoId(@Param("ieoId") Long ieoId);

    /**
     * 黄涛
     * 该活动一共售出的份数
     *
     * @param ieoId 活动ID
     * @return 份数
     */
    Integer selectSumCopiesByIeoId(@Param("ieoId") Long ieoId);

    /**
     * @Description: 计算Ieo活动的订单 获得数量 总额
     * @Author: ChenXi
     * @Date:  2023/3/23 16:37
     * @param ieoId
     * @return: java.math.BigDecimal
     **/
    BigDecimal getSumAmount(@Param("ieoId") Long ieoId, @Param("orderId") Long orderId);

}




